home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
3rdParty
/
TextFieldGadget.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
2KB
|
110 lines
MODULE TextFieldGadget;
(* $P- allow non-portable code *)
IMPORT SYS := SYSTEM, E := Exec, I := Intuition, U := Utility;
(*
* TextFieldGadget.mod
*
* Copyright © 1994 Mark Thomas
* Translattxf for Oberon-A by Helmuth Ritzer, June 1994
* Minor modifications for Oberon-A Release 1.4 by Frank Copeland.
*
* Defines for the BOOPSI textfield.gadget V1.2
*)
CONST
dummy = U.tagUser + 04000000H;
text * = dummy + 1;
insertText * = dummy + 2;
textFont * = dummy + 3;
delimiters * = dummy + 4;
top * = dummy + 5;
blockCursor * = dummy + 6;
size * = dummy + 7;
visible * = dummy + 8;
lines * = dummy + 9;
noGhost * = dummy + 10;
maxSize * = dummy + 11;
border * = dummy + 12;
textAttr * = dummy + 13;
fontStyle * = dummy + 14;
up * = dummy + 15;
down * = dummy + 16;
alignment * = dummy + 17;
vCenter * = dummy + 18;
ruledPaper * = dummy + 19;
paperPen * = dummy + 20;
inkPen * = dummy + 21;
linePen * = dummy + 22;
userAlign * = dummy + 23;
spacing * = dummy + 24;
clipStream * = dummy + 25;
clipStream2 * = dummy + 26;
blinkRate * = dummy + 27;
inverted * = dummy + 28;
partial * = dummy + 29;
cursorPos * = dummy + 30;
(*
* TEXTFIELD_Border
*
* See docs for width and height sizes these borders are
*)
borderNone * = 0;
borderBevel * = 1;
borderDoubleBevel * = 2;
(*
* TEXTFIELD_Alignment
*)
alignLeft * = 0;
alignCenter * = 1;
alignRight * = 2;
TYPE
TextFieldBasePtr * = CPOINTER TO TextFieldBase;
TextFieldBase * = RECORD (E.Library) END;
CONST
name * = "gadgets/textfield.gadget";
VAR
base * : TextFieldBasePtr;
LIBCALL (base : TextFieldBasePtr) GetClass* ()
: I.IClassPtr;
-30;
(*-- Library Base variable --------------------------------------------*)
(* $L- Address globals through A4 *)
PROCEDURE* CloseLib;
BEGIN
IF base # NIL THEN E.base.CloseLibrary (base) END;
END CloseLib;
PROCEDURE OpenLib * (mustOpen : BOOLEAN);
BEGIN
IF base = NIL THEN
base := SYS.VAL(TextFieldBasePtr, E.base.OpenLibrary (name, 0));
IF base # NIL THEN SYS.SETCLEANUP (CloseLib)
ELSIF mustOpen THEN HALT (100)
END
END
END OpenLib;
BEGIN
base := NIL
END TextFieldGadget.